Формування вхідних потоків і контролю їх якості для комп’ютерного моделювання складних систем статистичними методами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Програмного забезпечення

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Моделювання
Група:
ПІ

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 1 На тему: “Формування вхідних потоків і контролю їх якості для комп’ютерного моделювання складних систем статистичними методами” З дисципліни : "Моделювання програмного забезпечення" Мета роботи: одержання послідовностей псевдовіпадковіх квазірівномірно розподілених чисел запропонованими методами та перевірка їх якості. Завдання: 1.Одержати послідовності псевдовіпадковіх квазірівномірно розподілених чисел при заданих параметрах для кожного з ніжчевказаніх способів: - методу серединний квадратів; - мультіплікатівного методу; - за допомогою вбудованих функцій із програмного забезпечення комп'ютера. 2.Кожну з генерованіх послідовностей перевірити на рівномірність двома методами: - за гістограмою; - за непрямими ознаками. 3.Кожну з генерованіх послідовностей провірити на незалежність методом, оснований на обчисленні кореляційного моменту. 4.Перевірити одержані послідовності на стохастічність. Код програми //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <math.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "CSPIN" #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) {Label6->Caption=""; Label7->Caption=""; //метод серединних квадратів long double mas_s_k[100000]; Memo1->Clear(); double X1 = StrToFloat(Edit1->Text); mas_s_k[0]= X1; int N = StrToInt(CSpinEdit1->Text); Memo1->Text = Memo1->Text + FloatToStrF(X1,ffFixed,6,4)+" "; double Xi = X1; int k= Edit1->Text.Length(); int s =ceil((k-2)/2); if(s*2!=(k-2)) k=k+1; double mn1=1; double mn2=1; for(int i1=0;i1<ceil((k-2)/2);i1++) mn1*=10.0; for(int i1=0;i1<k-2;i1++) mn2*=10.0; for(int i=1; i<N; i++) { double dtmp; Xi = Xi*Xi; Xi = modf(Xi*mn1 ,&dtmp); Xi = modf(Xi*mn2,&dtmp); Xi = dtmp/mn2; if(CheckBox1->Checked) Memo1->Text = Memo1->Text + FloatToStrF(Xi,ffFixed,6,k-2)+" "; mas_s_k[i]= Xi; Image2->Canvas->Pixels[floor(mas_s_k[i-1]*100)][floor(mas_s_k[i]*100)]=clRed; } //закінчення методу серединних квадратів int m[21]; //обнулення масиву for(int i=0;i<21;i++) m[i]=0; //кількість чисел на проміжку for( int i=0;i<N;i++) for(int j=1;j<=20;j++) { if(mas_s_k[i]<=0.05*j) {m[j-1]=m[j-1]+1; break; } } //побудова гістограми for(int i=0;i<20;i+=1) { Series1->Add((m[i]),IntToStr(i),clRed); } //задання розмірів зображення Image2->Width=100; Image2->Height=100; Image2->Canvas->Brush->Color=clRed; //перевірка на стохастичність double hi2 = 0; int d = 5; double mas1[10]; double p[10]; double cnt = 0; int a = 0; double dl = 1.0 / d; for (double j = 0; j < 1; j += dl) { cnt = 0; for (int i = 0; i < N; i++) { if (mas_s_k[i] > j && mas_s_k[i] <= (j + dl)) cnt++; } mas1[a] = cnt; p[a] = mas1[a] / N; a++; } for (int i = 0; i < d; i++) if (p[i] != 0) hi2 = hi2 + pow((mas1[i] - N * p[i]), 2) / (N * p[i]); double hia2 = 0.352; if (hi2 >= hia2) Label6->Caption = "Гіпотеза не вірна"; else Label6->Caption =Label6->Caption+"Гіпотеза вірна зі імовірністю 95% " + " Критерій Х2=" +FloatToStr(hi2); ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини